]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
extensionSystem: Allow extensions to provide mode-specific styling
authorFlorian Müllner <fmuellner@gnome.org>
Tue, 5 Feb 2013 17:45:21 +0000 (18:45 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Tue, 5 Feb 2013 18:54:17 +0000 (19:54 +0100)
Allow extensions to integrate with modes that provide a distinct
style by providing a mode-specific stylesheet.

https://bugzilla.gnome.org/show_bug.cgi?id=693219

js/ui/extensionSystem.js

index 5e4bd6c8f6f6cb2bd330f59da5b4d1e6cdf66a63..8c12e976b1e02b97844f221cb89f81e844949d0f 100644 (file)
@@ -106,11 +106,15 @@ function enableExtension(uuid) {
 
     extensionOrder.push(uuid);
 
-    let stylesheetFile = extension.dir.get_child('stylesheet.css');
-    if (stylesheetFile.query_exists(null)) {
-        let theme = St.ThemeContext.get_for_stage(global.stage).get_theme();
-        theme.load_stylesheet(stylesheetFile.get_path());
-        extension.stylesheet = stylesheetFile;
+    let stylesheetNames = [global.session_mode + '.css', 'stylesheet.css'];
+    for (let i = 0; i < stylesheetNames.length; i++) {
+        let stylesheetFile = extension.dir.get_child(stylesheetNames[i]);
+        if (stylesheetFile.query_exists(null)) {
+            let theme = St.ThemeContext.get_for_stage(global.stage).get_theme();
+            theme.load_stylesheet(stylesheetFile.get_path());
+            extension.stylesheet = stylesheetFile;
+            break;
+        }
     }
 
     extension.stateObj.enable();